package com.vots.web.controller.system;

import java.util.HashMap;
import java.util.Map;
import java.util.List;
import com.vots.common.core.domain.entity.SysUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.vots.common.core.controller.BaseController;
import com.vots.common.core.domain.AjaxResult;
import com.vots.system.service.ISysUserService;
import com.vots.system.service.ISysMenuService;

/**
 * 仪表板信息
 * 
 * @author vots
 */
@RestController
@RequestMapping("/system/dashboard")
public class SysDashboardController extends BaseController
{
    @Autowired
    private ISysUserService userService;

    @Autowired
    private ISysMenuService menuService;

    /**
     * 获取仪表板统计数据
     */
    @GetMapping("/statistics")
    public AjaxResult getStatistics()
    {
        Map<String, Object> data = new HashMap<>();
        
        // 获取用户总数（使用空条件查询所有用户，然后获取数量）
        List<SysUser> userList = userService.selectUserList(new SysUser());
        int userCount = userList.size();
        data.put("userCount", userCount);
        
        // 模拟其他统计数据（实际项目中应该从对应的服务获取）
        data.put("courseCount", 86);
        data.put("trainingCount", 234);
        data.put("completionRate", 92);
        
        return AjaxResult.success(data);
    }

    /**
     * 获取最近活动
     */
    @GetMapping("/activities")
    public AjaxResult getRecentActivities()
    {
        // 这里可以返回真实的最近活动数据
        // 目前返回模拟数据
        return AjaxResult.success();
    }

    /**
     * 获取通知公告
     */
    @GetMapping("/notifications")
    public AjaxResult getNotifications()
    {
        // 这里可以返回真实的通知公告数据
        // 目前返回模拟数据
        return AjaxResult.success();
    }
} 